package bean;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import model.Unidade;
import dao.DaoUnidade;

@ManagedBean
@SessionScoped
public class UnidadeBean {

	private Unidade unidade;
	private DataModel<Unidade> unidades;
	private DaoUnidade dao = new DaoUnidade();
	
	public Unidade getUnidade() {return unidade;}
	public void setUnidade(Unidade u) {unidade = u;}
	
	
	public DataModel<Unidade> getUnidades() {
		List<Unidade> lista = dao.findAll();
		unidades = new ListDataModel<Unidade>(lista);
		return unidades;
	}
	
	public void salvar() {
		FacesContext fc = FacesContext.getCurrentInstance();
		dao.persist(unidade);
		fc.addMessage(null, new FacesMessage("Cadastro efetuado com sucesso", unidade.getNome())); 
	}
	
	public void load(ActionEvent e){
		unidade = (Unidade)(unidades.getRowData());
	}
	
	public void create(ActionEvent e) {
		unidade = new Unidade();
	}
	public void update(ActionEvent e) {
		FacesContext fc = FacesContext.getCurrentInstance();
		dao.merge(unidade);
		fc.addMessage(null, new FacesMessage("Cadastro alterado com sucesso", unidade.getNome())); 
	}
	
}
